$(function () {
    var times;
    var addressID;
    var headers = 1;
    var postURL = "../intcarorder/queryAddress?"+ new Date();
    var $addresslist = $(".addresslist");

    $("body").click(function (e) {
        if (!$(e.target).closest("#queryAddress").length) {
            $("#queryAddress").hide();
        }
    });

	function doQueryAddress(dom){
		var list = '';
	    jQuery("#queryAddress").show();
		var addressID = $("#addressID").val();
	    var $address = $("#" + addressID);
	    
	    if ($address.val() == "") {
	    	return;
	    }
		$.ajax({
			type : "post",
			url : postURL,
			data : {"address" : $address.val()},
			success : function(result){
			    jsonString = jQuery.parseJSON(result);
			    if(jsonString.success){
			    	$.each(jsonString.obj, function (index, item) {
			            list += '<li data-address='+item.fromAddress+' data-longitude='+item.longitude+' data-latitude='+item.latitude+'>' + item.fromAddress + '</li>';
			        });
			        $("#queryAddress .top span").html("如需缩小范围，请输入更多");
			    }else{
			    	$("#queryAddress .top span").html("<span style='color:#ff0000'>当前没有可选地址，请重新输入</span>");
			    }
			    
			    $("#queryAddress div.addresslist ul").html(list);
			},
			error : function(data){
				$("#queryAddress .top span").html("<span style='color:#ff0000'>当前没有可选地址，请重新输入</span>");
			}
		})
	}
	
	
	function calculatePosition(id) {
	    var X = $("#" + id).offset().left;
	    var Y = $("#" + id).offset().top;
	    var height = $("#" + id).outerHeight() + 1;
	    $("#queryAddress").css({"left": X, "top": Y + height});
	}
	
	function timeFun() {
	    clearTimeout(times);
	    doQueryAddress();
	};
	
	
	jQuery(".saddress").click(function () {
	    var id = $(this).attr("id");
	    calculatePosition(id);
	    //搜索地址定位;
	    $(window).resize(function () {
	        calculatePosition(id);
	    })
	    //搜索地址定位;
	    $("#addressID").val($(this).attr("id"));
	    if((jQuery(this).val()!="")&&(jQuery("#queryAddress li").length>0))
	    {
	        headers++;
	        jQuery("#queryAddress").show();
	    }
	});
	jQuery(".saddress").blur(function () {
	    if(headers<=0)
	    {
	        jQuery("#queryAddress").hide();
	    }
	});
	jQuery(".saddress").change(function () {
	    var i = $("#productType").val();
	    var id = $("#addressID").val();
	
	    var suffix = 'to';
	    if (id.indexOf("from") >= 0) {
	        suffix = 'from';
	    }
	
	    $("#" + suffix + "Longitude" + i).val('');
	    //$(".estimatedinfo").hide();
	});
	
	jQuery(".saddress").keyup(function () {
	    clearTimeout(times);
	    addressID = jQuery(this).attr("id");
	    times = setTimeout(timeFun, 300);
	}).blur(function () {
	    clearTimeout(times);
	    setTimeout(function () {
	        $("#queryAddress").hide();
	    }, 310);
	});
	//关闭查询到的目的地数据
	$("#queryAddress .top b").click(function () {
	    $(this).parent().parent().hide();
	});
	
    //把选择的数据写入input
    $("#queryAddress .addresslist ul").on("click", "li", function () {

        var index = $(this).index();

        var id = $("#addressID").val();

        var suffix = $("#"+id).attr("suffix");
        var prefix = $("#"+id).attr("prefix");
        
        $("#" + id).val($(this).html());
        $("#" + prefix + "Longitude" + suffix).val($(this).attr("data-longitude"));
        $("#" + prefix + "Latitude" + suffix).val($(this).attr("data-latitude"));
        
        $("#queryAddress").hide();
    });
    //查询目的地数据，结束

});
